草庐IT

Python if-else 简写

全部标签

c# - 重构 if-else if - else

我有以下代码示例if(object.Time>0&&=500&&=1000){rate=1.00m}else{rate=0m;}我的问题是我可以使用什么设计模式来让它变得更好?编辑:为了澄清一点,您在此处看到的代码是当前存在于策略模式实现中的代码。我们有3种计算类型,其中2种具有3种不同的“比率”,可以根据您在下面看到的时间使用这些计算。我考虑过为每个比率创建一个策略实现,但随后我会移动确定要使用的策略的逻辑,并使它变得一团糟。谢谢! 最佳答案 如果您真的在寻找一种设计模式,我会选择责任链模式。基本上您的“链接”会尝试处理输入。如果

C# getter 和 setter 简写

如果我对这条线的内部运作的理解是正确的:publicintMyInt{get;set;}然后它在幕后这样做:privateint_MyInt{get;set;}PublicintMyInt{get{return_MyInt;}set{_MyInt=value;}}我真正需要的是:privateboolIsDirty{get;set;}privateint_MyInt{get;set;}PublicintMyInt{get{return_MyInt;}set{_MyInt=value;IsDirty=true;}}但我想这样写:privateboolIsDirty{get;set;}pu

c# - 避免 If Else 条件

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭8年前。Improvethisquestion我想重构以下代码以避免if...else,这样我就不必在每次有新的调查类型进来时都更改方法(开放/封闭原则)。以下是我正在考虑重构的一段代码:if(surveyType==SurveySubType.Anonymous){DoSomething(param1,param2,param3);}elseif(surveyType==SurveySubType.Invitational){DoSo

c# - 替代if,else if

我有很多if,elseif语句,我知道必须有更好的方法来做到这一点,但即使在搜索stackoverflow之后,我也不确定在我的特定情况下该怎么做。我正在解析文本文件(账单)并根据某些字符串是否出现在账单上将服务提供商的名称分配给变量(txtv​​ar.Provider)。这是我正在做的事情的一小部分(别笑,我知道这很乱)。总而言之,大约有300个if,elseif。if(txtvar.BillText.IndexOf("SWGAS.COM")>-1){txtvar.Provider="SouthwestGas";}elseif(txtvar.BillText.IndexOf("geo

c# - 从字符串中删除最后一个正斜杠和尾随字符的简写方法

如果我有以下字符串:/lorem/ipsum/dolor我希望它变成:/lorem/ipsum删除最后一个正斜杠及其后所有字符的简写方法是什么?我知道如何通过将字符串拆分为List来做到这一点并删除最后一项,然后加入,但是有没有更短的写法?我的问题不特定于URL。 最佳答案 您可以使用Substring()和LastIndexOf():str=str.Substring(0,str.LastIndexOf('/'));编辑(建议的评论)为防止字符串可能不包含/时出现任何问题,您可以使用如下内容:intlastSlash=str.La

javascript - doT.js:在 dot.js 中链接 if-else

我正在尝试doT.js模板引擎。如果在dot.js中如何嵌套if-else就像if().....elseif.....elseif.....else..... 最佳答案 您可以使用以下语法:{{?it.name}}Oh,Iloveyourname,{{=it.name}}!{{??it.age===0}}Guessnobodynamedyouyet!{{??it.age>20}}You'reold!{{??}}Youare{{=it.age}}andstilldon'thaveaname?{{?}}以上编译为:functionano

javascript - if 语句中多个 OR 表达式的简写

是否有以下的简写-if(tld=="com"||tld=="net"||tld=="co"||tld=="org"||tld=="info"||tld=="biz"){//dosomething;} 最佳答案 你可以使用数组if(["","com","net","co","org","info","biz"].indexOf(tld)>-1){//dosomething}或者如果您使用的是jquery:$.inArray(tld,["com","net","co","org","info","biz"])REF-Performanc

javascript - !0 和 !1 不仅仅是 true/false 的简写吗?

这个问题在这里已经有了答案:Isthereanypointofusing"return!0"injavascript?(1个回答)关闭6年前。通过阅读一些代码,我发现了!0和!1的用法。我意识到这些是编写true和false的较短方式。!0===true!1===false这当然可以节省几个字节,但是还有其他使用它的原因吗?这种写法有名字吗?

javascript - 如何解析CSS字体简写格式

我需要将CSS字体速记格式解析为单独的组件(字体系列、字体大小、字体粗细……)。这种速记格式看起来很复杂。这里有两个例子:10pxsans-serifbolditalicsmall-caps1em/1.5emverdana,sans-serif在我开始为它编写解析器之前,是否有我可以使用的现有解析器(最好用JavaScript编写)? 最佳答案 这是一个“临时DOM元素和使用jquery的css()函数”解决方案:http://jsfiddle.net/thirtydot/tpSsE/2/var$test=$('');$test.c

Javascript 条件正则表达式 if-then-else

我试图将条目限制为特定格式。如果条目有5500或5100,例如01\01-5500-000-00那么我想要这个:^[0-9]{2,}\\[0-9]{2}\-[0-9]{4}\-[0-9]{3}\-$但是如果条目有5500或5100以外的任何东西,我想要这个:^[0-9]{2,}\\[0-9]{2}\-[0-9]{4}\-[0-9]{3}\-[0-9]{2}$如何使用ifthenelse想法来实现这一点? 最佳答案 JavaScript正则表达式引擎不支持条件正则表达式语法,但它可以通过包含2个替代项的非捕获组解决:具有积极的前瞻性和